<!DOCTYPE html>
<html>
    <head>
        <!-- 页面meta -->
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>传智健康</title>
        <meta name="description" content="传智健康">
        <meta name="keywords" content="传智健康">
        <meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" name="viewport">
        <!-- 引入样式 -->
        <link rel="stylesheet" href="../css/style.css">
        <!-- 引入样式 -->
        <link rel="stylesheet" href="../plugins/elementui/index.css">
        <link rel="stylesheet" href="../plugins/font-awesome/css/font-awesome.min.css">
        <link rel="stylesheet" href="../css/orderset.css">
        <!-- 引入样式 -->
        <script src="../plugins/echarts/echarts.js"></script>
        <!-- 引入组件库 -->
        <script src="../js/vue.js"></script>
        <script src="../plugins/elementui/index.js"></script>
        <script type="text/javascript" src="../js/jquery.min.js"></script>
        <script src="../js/axios-0.18.0.js"></script>
    </head>
    <body class="hold-transition">
        <div id="app">
            <div class="content-header">
                <h1>统计分析<small>会员数量</small></h1>
                <el-breadcrumb separator-class="el-icon-arrow-right" class="breadcrumb">
                    <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
                    <el-breadcrumb-item>统计分析</el-breadcrumb-item>
                    <el-breadcrumb-item>会员数量</el-breadcrumb-item>
                </el-breadcrumb>
            </div>

            <div class="app-container">
                <div class="box">
                    <div class="block">
                            <el-date-picker
                                    v-model="value1"
                                    type="monthrange"
                                    unlink-panels
                                    value-format="yyyy-MM-dd"
                                    align="right"
                                    :change="click()"
                                    range-separator="至"
                                    start-placeholder="开始月份"
                                    end-placeholder="结束月份"
                                    :picker-options="pickerOptions">
                            </el-date-picker>
                        <el-button type="primary" class="butT" @click="sexclick()">查看性别占比</el-button>
                        <el-button type="primary" class="butT" @click="ageclick()">查看年龄占比</el-button>
                    </div>
                    <!-- 为 ECharts 准备一个具备大小（宽高）的 DOM -->
                    <div id="chart1" style="height:500px; margin-top: 20px"></div>
                </div>
            </div>
        </div>
    </body>
    <script type="text/javascript">
        new Vue({
            el: '#app',
            data:{
                pickerOptions: {
                    shortcuts: [{
                        text: '今年至今',
                        onClick(picker) {
                            const end = new Date();
                            const start = new Date(new Date().getFullYear(), 0);
                            picker.$emit('pick', [start, end]);
                        }
                    }, {
                        text: '最近三个月',
                        onClick(picker) {
                            const end = new Date();
                            const start = new Date();
                            start.setMonth(start.getMonth() - 3);
                            picker.$emit('pick', [start, end]);
                        }
                    },{
                        text: '最近六个月',
                        onClick(picker) {
                            const end = new Date();
                            const start = new Date();
                            start.setMonth(start.getMonth() - 6);
                            picker.$emit('pick', [start, end]);
                        }
                    }]
                },
                value1:''
            },
            mounted(){
                var myChart1 = echarts.init(document.getElementById('chart1'));

                // 使用刚指定的配置项和数据显示图表。
                //myChart.setOption(option);

                axios.get("/report/getMemberReport4year.do").then((res)=>{
                    myChart1.setOption(
                        {
                            title: {
                                text: '会员数量'
                            },
                            tooltip: {},
                            legend: {
                                data:['会员数量']
                            },
                            xAxis: {
                                data: res.data.data.months
                            },
                            yAxis: {
                                type:'value'
                            },
                            series: [{
                                name: '会员数量',
                                type: 'line',
                                data: res.data.data.memberCount
                            }]
                        },true);
                });
            },
            methods:{
                click(){
                    console.log(this.value1);
                    // 基于准备好的dom，初始化echarts实例
                    var myChart1 = echarts.init(document.getElementById('chart1'));

                    // 使用刚指定的配置项和数据显示图表。
                    //myChart.setOption(option);

                    axios.post("/report/getMemberReport.do",this.value1).then((res)=>{
                        myChart1.setOption(
                            {
                                title: {
                                    text: '会员数量'
                                },
                                tooltip: {},
                                legend: {
                                    data:['会员数量']
                                },
                                xAxis: {
                                    data: res.data.data.months
                                },
                                yAxis: {
                                    type:'value'
                                },
                                series: [{
                                    name: '会员数量',
                                    type: 'line',
                                    data: res.data.data.memberCount
                                }]
                            },true);
                    });
                },
                ageclick(){
                    var myChart1 = echarts.init(document.getElementById('chart1'));

                    axios.get("/report/findByMemberAge.do").then((res)=>{
                        myChart1.setOption({
                            title : {
                                text: '会员年龄分布',
                                subtext: '',
                                x:'center'
                            },
                            tooltip : {//提示框组件
                                trigger: 'item',//触发类型，在饼形图中为item
                                formatter: "{a} <br/>{b} : {c} ({d}%)"//提示内容格式
                            },
                            legend: {
                                orient: 'vertical',
                                x: 'left',
                                data:res.data.data.setmealNames
                            },
                            series: [
                                {
                                    name:'访问来源',
                                    type:'pie',
                                    radius: ['50%', '70%'],
                                    avoidLabelOverlap: false,
                                    label: {
                                        normal: {
                                            show: false,
                                            position: 'center'
                                        },
                                        emphasis: {
                                            show: true,
                                            textStyle: {
                                                fontSize: '30',
                                                fontWeight: 'bold'
                                            }
                                        }
                                    },
                                    labelLine: {
                                        normal: {
                                            show: false
                                        }
                                    },
                                    data:res.data.data.setmealCount
                                }
                            ]
                        },true);
                    });
                },




                sexclick(){
                    var myChart1 = echarts.init(document.getElementById('chart1'));

                    // 使用刚指定的配置项和数据显示图表。
                    //myChart.setOption(option);

                    axios.get("/report/getSexReport.do").then((res) => {
                        myChart1.setOption({
                            title: {
                                text: '会员性别占比',
                                subtext: '',
                                x: 'center'
                            },
                            tooltip: {//提示框组件
                                trigger: 'item',//触发类型，在饼形图中为item
                                formatter: "{a} <br/>{b} : {c} ({d}%)"//提示内容格式
                            },
                            legend: {
                                orient: 'vertical',
                                left: 'left',
                                data: res.data.data.setmealNames
                            },
                            series: [
                                {
                                    name: '套餐预约占比',
                                    type: 'pie',
                                    radius: '55%',
                                    center: ['50%', '60%'],
                                    data: res.data.data.setmealCount,
                                    itemStyle: {
                                        emphasis: {
                                            shadowBlur: 10,
                                            shadowOffsetX: 0,
                                            shadowColor: 'rgba(0, 0, 0, 0.5)'
                                        }
                                    }
                                }
                            ]
                        },true);
                    });
                }
            }
        });


    </script>



</html>
